package co.edu.usbcali.modeloo;

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * SubactividadPorActividad entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "subactividad_por_actividad", catalog = "estimacionpreliminar")
public class SubactividadPorActividad implements java.io.Serializable {

	// Fields

	private Integer id;
	private Subactividad subactividad;
	private Actividades actividades;
	private Date fechaestimadasubactInicio;
	private Date fechaestimadasubactFin;
	private Integer tamanoinicialdesubactv1;
	private Integer tamanoinicialdesubactv2;
	private Date fechalimiteestimada;
	private Integer indiceincrementocambiomensual;
	private Integer defectosentregados;
	private Integer defectosentregados2;
	private Integer tamanoderequisitosencasosdeuso;
	private Integer volumenesdegraficos;
	private Integer reutilizacion;
	private Integer ambitosdeasignacionenpf;
	private Integer ambitosdeasignacion2;
	private Integer indicedeproduccionpf;
	private Integer indicedeproduccionpf2;
	private Integer potencialdedefectos1;
	private Integer potencialdedefectos2;
	private Integer eliminaciondedefectos;
	private Integer defectosdealtaseveridad;
	private Integer probabilidaddereparacionesdefectuosas;

	// Constructors

	/** default constructor */
	public SubactividadPorActividad() {
	}

	/** minimal constructor */
	public SubactividadPorActividad(Integer id) {
		this.id = id;
	}

	/** full constructor */
	public SubactividadPorActividad(Integer id, Subactividad subactividad,
			Actividades actividades, Date fechaestimadasubactInicio,
			Date fechaestimadasubactFin, Integer tamanoinicialdesubactv1,
			Integer tamanoinicialdesubactv2, Date fechalimiteestimada,
			Integer indiceincrementocambiomensual, Integer defectosentregados,
			Integer defectosentregados2,
			Integer tamanoderequisitosencasosdeuso,
			Integer volumenesdegraficos, Integer reutilizacion,
			Integer ambitosdeasignacionenpf, Integer ambitosdeasignacion2,
			Integer indicedeproduccionpf, Integer indicedeproduccionpf2,
			Integer potencialdedefectos1, Integer potencialdedefectos2,
			Integer eliminaciondedefectos, Integer defectosdealtaseveridad,
			Integer probabilidaddereparacionesdefectuosas) {
		this.id = id;
		this.subactividad = subactividad;
		this.actividades = actividades;
		this.fechaestimadasubactInicio = fechaestimadasubactInicio;
		this.fechaestimadasubactFin = fechaestimadasubactFin;
		this.tamanoinicialdesubactv1 = tamanoinicialdesubactv1;
		this.tamanoinicialdesubactv2 = tamanoinicialdesubactv2;
		this.fechalimiteestimada = fechalimiteestimada;
		this.indiceincrementocambiomensual = indiceincrementocambiomensual;
		this.defectosentregados = defectosentregados;
		this.defectosentregados2 = defectosentregados2;
		this.tamanoderequisitosencasosdeuso = tamanoderequisitosencasosdeuso;
		this.volumenesdegraficos = volumenesdegraficos;
		this.reutilizacion = reutilizacion;
		this.ambitosdeasignacionenpf = ambitosdeasignacionenpf;
		this.ambitosdeasignacion2 = ambitosdeasignacion2;
		this.indicedeproduccionpf = indicedeproduccionpf;
		this.indicedeproduccionpf2 = indicedeproduccionpf2;
		this.potencialdedefectos1 = potencialdedefectos1;
		this.potencialdedefectos2 = potencialdedefectos2;
		this.eliminaciondedefectos = eliminaciondedefectos;
		this.defectosdealtaseveridad = defectosdealtaseveridad;
		this.probabilidaddereparacionesdefectuosas = probabilidaddereparacionesdefectuosas;
	}

	// Property accessors
	@Id
	@Column(name = "ID", unique = true, nullable = false)
	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "IDSUBACTIVIDAD")
	public Subactividad getSubactividad() {
		return this.subactividad;
	}

	public void setSubactividad(Subactividad subactividad) {
		this.subactividad = subactividad;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "IDACTIVIDAD")
	public Actividades getActividades() {
		return this.actividades;
	}

	public void setActividades(Actividades actividades) {
		this.actividades = actividades;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FECHAESTIMADASUBACT_INICIO", length = 10)
	public Date getFechaestimadasubactInicio() {
		return this.fechaestimadasubactInicio;
	}

	public void setFechaestimadasubactInicio(Date fechaestimadasubactInicio) {
		this.fechaestimadasubactInicio = fechaestimadasubactInicio;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FECHAESTIMADASUBACT_FIN", length = 10)
	public Date getFechaestimadasubactFin() {
		return this.fechaestimadasubactFin;
	}

	public void setFechaestimadasubactFin(Date fechaestimadasubactFin) {
		this.fechaestimadasubactFin = fechaestimadasubactFin;
	}

	@Column(name = "TAMANOINICIALDESUBACTV1")
	public Integer getTamanoinicialdesubactv1() {
		return this.tamanoinicialdesubactv1;
	}

	public void setTamanoinicialdesubactv1(Integer tamanoinicialdesubactv1) {
		this.tamanoinicialdesubactv1 = tamanoinicialdesubactv1;
	}

	@Column(name = "TAMANOINICIALDESUBACTV2")
	public Integer getTamanoinicialdesubactv2() {
		return this.tamanoinicialdesubactv2;
	}

	public void setTamanoinicialdesubactv2(Integer tamanoinicialdesubactv2) {
		this.tamanoinicialdesubactv2 = tamanoinicialdesubactv2;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FECHALIMITEESTIMADA", length = 10)
	public Date getFechalimiteestimada() {
		return this.fechalimiteestimada;
	}

	public void setFechalimiteestimada(Date fechalimiteestimada) {
		this.fechalimiteestimada = fechalimiteestimada;
	}

	@Column(name = "INDICEINCREMENTOCAMBIOMENSUAL")
	public Integer getIndiceincrementocambiomensual() {
		return this.indiceincrementocambiomensual;
	}

	public void setIndiceincrementocambiomensual(
			Integer indiceincrementocambiomensual) {
		this.indiceincrementocambiomensual = indiceincrementocambiomensual;
	}

	@Column(name = "DEFECTOSENTREGADOS")
	public Integer getDefectosentregados() {
		return this.defectosentregados;
	}

	public void setDefectosentregados(Integer defectosentregados) {
		this.defectosentregados = defectosentregados;
	}

	@Column(name = "DEFECTOSENTREGADOS2")
	public Integer getDefectosentregados2() {
		return this.defectosentregados2;
	}

	public void setDefectosentregados2(Integer defectosentregados2) {
		this.defectosentregados2 = defectosentregados2;
	}

	@Column(name = "TAMANODEREQUISITOSENCASOSDEUSO")
	public Integer getTamanoderequisitosencasosdeuso() {
		return this.tamanoderequisitosencasosdeuso;
	}

	public void setTamanoderequisitosencasosdeuso(
			Integer tamanoderequisitosencasosdeuso) {
		this.tamanoderequisitosencasosdeuso = tamanoderequisitosencasosdeuso;
	}

	@Column(name = "VOLUMENESDEGRAFICOS")
	public Integer getVolumenesdegraficos() {
		return this.volumenesdegraficos;
	}

	public void setVolumenesdegraficos(Integer volumenesdegraficos) {
		this.volumenesdegraficos = volumenesdegraficos;
	}

	@Column(name = "REUTILIZACION")
	public Integer getReutilizacion() {
		return this.reutilizacion;
	}

	public void setReutilizacion(Integer reutilizacion) {
		this.reutilizacion = reutilizacion;
	}

	@Column(name = "AMBITOSDEASIGNACIONENPF")
	public Integer getAmbitosdeasignacionenpf() {
		return this.ambitosdeasignacionenpf;
	}

	public void setAmbitosdeasignacionenpf(Integer ambitosdeasignacionenpf) {
		this.ambitosdeasignacionenpf = ambitosdeasignacionenpf;
	}

	@Column(name = "AMBITOSDEASIGNACION2")
	public Integer getAmbitosdeasignacion2() {
		return this.ambitosdeasignacion2;
	}

	public void setAmbitosdeasignacion2(Integer ambitosdeasignacion2) {
		this.ambitosdeasignacion2 = ambitosdeasignacion2;
	}

	@Column(name = "INDICEDEPRODUCCIONPF")
	public Integer getIndicedeproduccionpf() {
		return this.indicedeproduccionpf;
	}

	public void setIndicedeproduccionpf(Integer indicedeproduccionpf) {
		this.indicedeproduccionpf = indicedeproduccionpf;
	}

	@Column(name = "INDICEDEPRODUCCIONPF2")
	public Integer getIndicedeproduccionpf2() {
		return this.indicedeproduccionpf2;
	}

	public void setIndicedeproduccionpf2(Integer indicedeproduccionpf2) {
		this.indicedeproduccionpf2 = indicedeproduccionpf2;
	}

	@Column(name = "POTENCIALDEDEFECTOS1")
	public Integer getPotencialdedefectos1() {
		return this.potencialdedefectos1;
	}

	public void setPotencialdedefectos1(Integer potencialdedefectos1) {
		this.potencialdedefectos1 = potencialdedefectos1;
	}

	@Column(name = "POTENCIALDEDEFECTOS2")
	public Integer getPotencialdedefectos2() {
		return this.potencialdedefectos2;
	}

	public void setPotencialdedefectos2(Integer potencialdedefectos2) {
		this.potencialdedefectos2 = potencialdedefectos2;
	}

	@Column(name = "ELIMINACIONDEDEFECTOS")
	public Integer getEliminaciondedefectos() {
		return this.eliminaciondedefectos;
	}

	public void setEliminaciondedefectos(Integer eliminaciondedefectos) {
		this.eliminaciondedefectos = eliminaciondedefectos;
	}

	@Column(name = "DEFECTOSDEALTASEVERIDAD")
	public Integer getDefectosdealtaseveridad() {
		return this.defectosdealtaseveridad;
	}

	public void setDefectosdealtaseveridad(Integer defectosdealtaseveridad) {
		this.defectosdealtaseveridad = defectosdealtaseveridad;
	}

	@Column(name = "PROBABILIDADDEREPARACIONESDEFECTUOSAS")
	public Integer getProbabilidaddereparacionesdefectuosas() {
		return this.probabilidaddereparacionesdefectuosas;
	}

	public void setProbabilidaddereparacionesdefectuosas(
			Integer probabilidaddereparacionesdefectuosas) {
		this.probabilidaddereparacionesdefectuosas = probabilidaddereparacionesdefectuosas;
	}

}